System and method for synchronizing objects between data collections

ABSTRACT

A system for facilitating the information transfer and processing associated with home construction and home sales. Various discrete software modules are disclosed each handling a specific task associated with home construction and sales. Also, a system for communicating between separate data bases is disclosed wherein separate and distinct sales offices, each having their own data base, may communicate with a parent, market office having its own data base wherein the data bases of the sales offices and the market office are synchronized according to the method of the present invention so that any data updates in any of the sales offices would be automatically updated in the associated market offices. This aspect of the present invention allows a corporation responsible for home construction and sales amongst various regional, market, and sales offices to coordinate a plurality of discretely separate data bases in a way such that they are all synchronized with one another at a predetermined time.

RELATED APPLICATIONS

This application is a divisional of U.S. patent application Ser. No. 10/395,543, filed on Mar. 24, 2003, which is a continuation of U.S. patent application Ser. No. 09/282,687, filed on Mar. 31, 1999, which is a continuation of U.S. patent application Ser. No. 08/919,091, filed on Aug. 27, 1997, which is a divisional of U.S. patent application Ser. No. 08/387,541, filed on Feb. 13, 1995.

TECHNICAL FIELD

This invention relates to a system for facilitating home construction and sales and more particularly relates to a computer implemented system for assisting new home purchasers, sales associates, and home construction companies to efficiently manage the information flow which is present before, during, and after new home construction and sales.

BACKGROUND OF THE INVENTION

It is customary for prospective new home purchasers to meet with a salesperson (usually an agent of a construction company) and to review various home designs that the construction company offers. During this process, financial information may be obtained from the prospective buyer in order to determine “how much home” they can afford. If the prospective buyer is interested in a particular subdivision, the sales persons must access various records to determine the status of the various lots in the subdivision to determine which lots are available, what their cost is and other information which may be relevant to the decision making process of the potential purchaser.

It can be easily seen that the information which the sales associate must access in answering some basic questions that a single potential purchaser may have can become cumbersome—even at the initial stages of a potential purchaser's inquiries. It can also be easily seen that once a purchaser enters into a purchase agreement with the home construction company, much information must be tracked such as the status of the home construction, mortgage approval status, selected options to the home, and various change orders, etc. In view of the above, it is easy to see how the management of information associated with the construction and sale of a single home can be daunting. However, when a construction company must deal with multiple subdivision projects which are disbursed across multiple, geographically remote sites, the management of information associated with each of the construction projects is a monumental undertaking if done using conventional, manual techniques.

In view of the above, it is an object of this invention to provide a computer based system for managing the information flow associated with new home construction and new home sales. This object is accomplished by providing the salesperson with various software modules which facilitate information flow between the purchaser/potential purchaser and the sales associate. Also, the present invention sets forth a software system for coordinating information flow between sales sites and a more centralized site where information can be collected and acted upon. Thus, the present invention not only facilitates information flow at the sales office level, but facilitates information flow between various sales offices and various remote locations.

SUMMARY OF THE INVENTION

In a first aspect, the present invention discloses a system for displaying plat status information to a viewer including the steps of displaying, on a video display terminal, a plurality of polygons, each polygon representing a respectively associated plat; selecting a status associated with each plat; and coding each polygon with a visible indicia indicative of the status assigned to each polygon.

In a second aspect, the present invention discloses a system for displaying plat status information comprising; computer means including a video display terminal for displaying a plurality of polygons, each polygon representing a plat; means for coding each of the polygons with an invisible indicia indicative of the status assigned to each of the polygon's respectively associated plat.

In another aspect, the present invention discloses a system and method for displaying status information to a viewer on a display. The method comprises displaying a plurality of defined regions on the display; designating a status for at least one of the defined regions; and displaying a visible indicia for the defined region with the designated status assigned thereto.

Still in another aspect, the present invention discloses a method of communicating between first and second geographically remote data bases, comprising the steps of: receiving information relating to the construction or sale of homes into the first data base; separating the information into a plurality of first data base records; determining which of the plurality of first data base records have been altered from a previous state; sending the altered records of the first data base to the second data base; matching each altered data base record sent from the first data base with a respectively associated record of the second data base; and amending each match record of said second data base to reflect the information present in the respectively associated altered record send from the first data base.

Yet in another aspect, the present invention discloses a system for facilitating tracking-information associated with selling and constructing homes including, computer means; means coupled with the computer means for displaying plat information relating to the homes; means coupled with the computer means for displaying information relating to the design of the homes; means coupled with the computer means for displaying information related to the options associated with the homes; means, coupled with the computer means, for displaying mortgage information relating to the purchase of the home; and means, coupled with the computer means for displaying information related to a contract associated with the sale of the home.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A-1J depict the operation of the LOT INFORMATION MODULE of the present invention.

FIGS. 2A-2E depict the operation of the PLAN SECTION module of the present invention.

FIGS. 3A-3C depict the operation of the OPTIONS MODULE of the present invention.

FIGS. 4A-4E depict the operation of the FINANCE MODULE of the present invention.

FIGS. 5A-5J depict the operation of the CONTRACT MODULE of the present invention.

FIG. 6 depicts the operation of the INFORMATION TRANSFER MODULE of the present invention.

FIGS. 7A and 7B depict a preferred ENTRY MODULE of the present invention.

FIGS. 8A-8F depict the PEOPLE INFORMATION MODULE of the present invention.

FIGS. 9A-9D depict the ADMINISTRATION SYSTEM of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The above referenced modules are set out and discussed in detail below.

Lot Information Module

The LOT INFORMATION MODULE of the present invention is adapted to be run on any computer system but is particularly adapted for use on a personal computer. A preferred hardware arrangement for such a personal computer 18 is depicted in FIG. 1A wherein such standard components as CPU 25 coordinates the operation of CRT 20, keyboard 22, volatile memory 23, communications hardware 24, disk memory 26, and printer 28. The modules of the present invention are currently running on an IBM PC Compatible Pentium (DELL OPTIPLEX), 90 mega hertz, 16 mega bytes RAM, local bus video with S3 video drivers, 500 mega bytes IDE hard disk drive, INTERNAL 14.4 kilo bytes asynchronous modem, 15 inch SVGA video display terminal, standard keyboard, mouse with microsoft DOS 6.2, and Windows for workgroups version 3.11.

Of course, many other personal computers will perform equally as well such as a Compaq™, IBM Value Point™, Dell™, NEC™, etc.

The LOT MODULE is selected by positioning an indicator on the LOTS icon 30 and then activating the selection. This positioning/activation sequence is typically implemented by way of a “mouse” control, but any other technique for allowing a user to select from a menu of options is also contemplated including finger selection.

Once the LOTS selection is activated, a simulated aerial view of the particular subdivision is displayed. In the example of FIG. 1B, the Excalibur subdivision is depicted comprising a total of 58 plats, each separate plat defined by a respectively associated polygon 41 through 98.

One option within the LOTS MODULE is the OVERALL STATUS option. By selecting the OVERALL STATUS option, each plat 41 through 98 is assigned one of three visual codes—active code, closed code, or vacant code. These visual codes associated with each polygon can be a design (such as cross hatching or stimpling) associated with each polygon, or perhaps even simpler, a predetermined color can be associated with each code. Thus, by viewing the colors associated with each polygon, a perspective buyer can immediately determine which of the plats (or lots) are not yet sold (i.e. vacant), which of the plats are sold and construction is completed (i.e. closed), and which of the plats are sold and construction is underway but not yet completed (i.e. active).

A second option available in the LOTS MODULE is the CONSTRUCTION option. If this option is selected, the viewer is presented with the display set forth in FIG. 1C wherein the status of the construction for each LOT is displayed. Again, each construction status is reflected in a code associated with each of the LOTS. As was mentioned before, this code can be a color, simulated texture, or any such indication which is visually detectable. The various statuses associated with the construction option range from construction not started at all to construction completed and are defined in a separate lot administration module.

A third option available within the LOTS MODULE is the CONTRACT option. If this option is selected, the display depicted in FIG. 1D is presented to the viewer wherein various CONTRACT statuses are associated with each LOT. Each status has associated therewith a visually detectable data as has already been discussed in conjunction with the CONSTRUCTION option and the OVERALL STATUS option. Thus, by exercising the CONTRACT option, the viewer can immediately determine the status of the CONTRACTS associated with each of the LOTS in the Excalibur SUBDIVISION. Other options exist to display the lot information based on the floor plan, garage oriented elevation, roof color, brick color, etc., is shown on FIGS. 1E and 1F.

If the viewer wishes to access LOT information associated with a particular LOT, a pointer (not shown) is manipulated proximate the LOT of interest, and the pointer is activated. This causes the LOT information associated with that selected LOT to be displayed (as shown in FIG. 1G). LOT information may consist of the postal address associated with the LOT, any premium associated with the purchase of that LOT, the LOT and block number, etc. Also displayed is the cumulative, total cost of the home 106. Thus, as various options are elected/cancelled, the purchaser is instantly apprised of the cost impact of his decisions.

In FIG. 1H, a LOT information inquiry has been done wherein the LOT inquired of (LOT 104) has a CONTRACT status of APPROVED 108, has been sold for $211,565.00 (see reference #110) and has $22,865.00 worth of options 112.

FIG. 1I shows the display of selected information when the LOT FEATURES 114 option is selected by the operator. When this option is selected, various selling features 116 associated with the particular LOT at issue are conveyed to the viewer.

FIG. 1J illustrates the type of information which is displayed when the LOT DISCLOSURES 118 option is selected by the viewer. When the LOT DISCLOSURES 118 option is selected by the viewer, the various easements, encumbrances, or the like associated with the selected LOT are conveyed to the viewer.

In the preferred implementation of the LOT INFORMATION MODULE of the present invention, the software associated with the LOT INFORMATION MODULE reads an AutoCAD™ DXF file that contains the LOT INFORMATION. The data is preferably scaled to best display the information on the computer screen keeping the same x and y coordinate proportions. The AutoCAD file is parsed and a “lot coordinate” file is created that contains the normalized data values for each LOT with all points for a particular LOT grouped together. Using Microsoft™ Window API calls, the entire plat map is generated by drawing one LOT in its entirety and then drawing the next LOT in its entirety, etc. until all LOTS have been drawn. By utilizing this technique, a simple polygon for each LOT is created which permits the user to later select the LOT by simply pointing to the LOT with their finger or selecting the LOT with a visual pointing device (such as a mouse, etc.). In addition, since the scaling information has been predetermined from the AutoCAD file, a second (or subsequent) image may be superimposed on the LOT map to add background information such as trees, lakes, streams, roads, etc.

Because the polygon is a defined region within Windows, the LOTS can be easily changed and colored to represent different “states” (or statuses) in construction or any other processes associated with the plat.

Plan Selection Module

The PLAN SELECTION MODULE allows the viewer to see floor plan layouts and elevational views for each of the model home designs made available by the builder. When the user selects the PLAN SELECTION MODULE, the display set forth in FIG. 2A will appear on video display device 20. This screen sets forth the basic designs from which the buyer may select from and sets forth some of the features associated with each design. If the viewer wishes to see the room layout associated with a particular design, the user simply selects one of the designs (in a manner already discussed in conjunction with selecting modules) and activates the SHOW PLANS 122 BUTTON. In response to this selection, the screen of FIG. 2B will be displayed wherein the design of the SUNRISE floor plan is displayed. If the viewer wishes to view an aspect of the floor plan with great resolution, the enlarged 124 option may be selected which, in turn, will give rise to the screen display set forth in FIG. 2C.

If the user wishes to see the front elevational depiction of the SUNRISE DESIGN, the elevation option 126 is selected which gives rise to the displays depicted in FIG. 2D. Other elevations are available to view by simply making the appropriate selection as evidenced by the menu options set forth in FIG. 2E.

Thus, the PLAN SELECTION MODULE allows a potential buyer to review the floor plan layouts and the elevational layouts of any number of home designs offered by the contractor.

Options Module

Once a floor plan has been selected, the system of the present invention allows various OPTIONS to be selected. These OPTIONS are discussed in conjunction with FIGS. 3A through 3C. In FIG. 3A, various OPTION categories are listed in a left-hand column wherein X's before various selections indicate that those OPTIONS have already been selected. The right-hand portion of FIG. 3A shows a running list of each OPTION selected, a quantity associated therewith, and a cost associated with each OPTION. The total cost of all of the selected OPTIONS is also shown in FIG. 3A.

FIG. 3B depicts the screen display which results from the selection the fireplace OPTION as it's set out in FIG. 3A. If the fireplace OPTION is selected in FIG. 3A, the viewer must select from one of the five fireplace OPTIONS set out in FIG. 3B. If the viewer is unfamiliar with the design of any of the fireplace OPTIONS at his disposal, one or more of the fireplace OPTIONS is selected for viewing. For example, if fireplace Y is selected for viewing, the screen as depicted in FIG. 3C is displayed to the user. Thus, a detailed reproduction of a photograph of the design fireplace Y is disclosed to the user for viewing. This type of high resolution graphics display associated with each one of the OPTIONS eliminates much of the guesswork associated with selecting OPTIONS, particularly in those cases where the potential buyer has not had an opportunity to view model homes constructed by the construction company offering the OPTIONS. With such a system, it is possible for a potential buyer to make informed decisions on OPTION selections without ever leaving the sales representatives office and without requiring the construction company to have previously built the OPTION at this subdivision.

Finance Module

When a potential buyer is contemplating the purchase of a home, the financial aspects of such a purchase are typically of significant importance. The FINANCIAL MODULE of the present invention assists potential buyers in determining their mortgage options, determining how much home they can afford, assist them in determining if they will qualify for the mortgage they're interested in, and assist in educating them of the tax benefits of purchasing the home. Each of these categories are set forth in the menu of selections of FIG. 4A. If the user selects the MORTGAGE OPTIONS selection of FIG. 4A, the screen of 4B is presented. If a conventional, fixed mortgage is of interest to the potential buyer, the appropriate data is input by the operator (if it has not already been input), and critical information is displayed to the user such as total monthly payment due, total move-in costs, etc. The FINANCE MODULE of the present invention is also designed to furnish similar information for conventional adjustable rate mortgages, FHA mortgages (adjustable rate and fixed), VA mortgages (adjustable rate and fixed) and other types of mortgage instruments. The FINANCE MODULE will calculate the maximum loan amount for any type of loan based on loan rules supplied to the module. The format for displaying the data associated with these latter mortgages is similar, or identical, to the format set on FIG. 4B.

In FIG. 4A, if the user selects the HOW MUCH HOME option, the screen of FIG. 4C is displayed on the video display terminal wherein after the type of loan is selected 128 and other loan information and financial information 130, 132 respectively is provided, the user is provided with data reflective of how much home they can afford 134. If the potential buyer has already selected a home and various options, and now they want to determine if they prequilify for the home, the PREQUALIFICATION option of FIG. 4A is selected, the screen of FIG. 4D is displayed on the video display terminal. Using data supplied by the potential buyer and applying that data to well established formulas, the FINANCIAL MODULE indicates 134 to the potential purchaser whether he or she qualifies for the purchase of the home they have selected.

If the purchaser is interested in the tax benefits they receive from the purchase of a home, the TAX BENEFITS selection of FIG. 4A may be selected and the screen depicted in FIG. 4E will be displayed. This screen provides the potential purchaser with an indication of the estimated tax benefits associated with purchasing the home of interest.

Contract Module

The CONTRACT MODULE of the present invention is the portion which is responsible for creating and tracking legal documents associated with the purchase of the home and selected options. Thus, when the user selects the CONTRACT MODULE (see selection 101 of FIG. 1B), the screen depicted in FIG. 9A is displayed on the video display terminal. The screen shows the existing contracts that exist for a particular customer plus any open “spec homes.”

When the CREATE CONTRACT button is selected, the user is prompted for confirmation (see FIG. 5B) prior to creating the actual legal documents for the contract.

FIG. 5C summarizes the contract created for the customer and permits the user to make any refinements prior to printing the contract. These refinements may be selected by using one of the selections displayed on the right hand side of the screen display of FIG. 5C. For example, if the EDIT DETAIL button is selected, the screen of FIG. 5D is displayed which allows the user to change the base price of the home, the lot premium or the elevation premium. Comments pertinent to the contracting process that would be useful in the market office are entered on this screen.

If the OPTIONS button of FIG. 5D is selected, the screen as depicted in FIG. 5E is displayed giving the user the option of overriding any option price (if so enabled, by the market office). Payments received from a customer are entered by selecting the DEPOSITS button from FIG. 5C. FIG. 5F displays the screen associated with the entering of deposits.

Once the contract is approved by the Market Office, the customer may elect to make certain changes in the contract. When the CONTRACT button is selected from the main sales menu, a revised EXISTING CONTRACTS screen, as shown in FIG. 5G is displayed. This screen permits the user to create and track change orders to the original contract. FIG. 5H identifies a change order being added to the original contract. After various options have been added, the change order may be reviewed as shown in FIG. 5I and FIG. 5J.

Information Transfer Module

Although the system as set forth can be implemented on a small scale basis (e.g. a single subdivision), it is equally capable of handling information flow throughout a network of sales offices, design centers, construction trailers, market offices, regional offices, and corporate offices. This aspect of the present invention will now be discussed in detail in conjunction with FIG. 6.

All of the modules set forth heretofore would typically be used at the sales office level to facilitate discussions which would typically take place between potential purchasers and sales associates. In the situation where a company has many subdivision developments ongoing at any one time, each sales office may be associated with one subdivision development. In this instance, it may be desirable for each sales office within a given territory to report to a single market office. A predetermined number of market offices may then be structured to communicate with a single regional office and lastly, a predetermined number of regional offices may be responsible for reporting to a single corporate office. This hierarchical arrangement is depicted in FIG. 6. The advantage of establishing such a hierarchy, is that certain decisions can be relegated to certain levels. For example, contract approvals may only take place at the market office level and not at the sales office level. Likewise, a regional office may review all sales by all Sales Offices to determine the performance of each sales associate at each Sales Office. Also, information may be put into the system at the Regional Office level to be filtered down to the Sales Offices. Thus, such information may include IRS tax rates and tax tables. In order for the hierarchical structure set forth in FIG. 6 to be of maximum benefit to each office involved, there must be a systematic process whereby information is updated (or synchronized) between the offices. For example, how can the regional offices be apprised of what models are their “best sellers” if they are not provided with information, on a regular basis, regarding the number and type of model sales taking place? Likewise, how can the sales offices keep potential purchasers up to date on the status of their home construction if the market office, charged with the duty of building the home, does not communicate that information to the respective sales office. Thus, a key aspect of the INFORMATION TRANSFER MODULE of the present invention is the system of INFORMATION TRANSFER which takes place between the offices whereby the hierarchy of offices is kept abreast of developments occurring amongst its parent office and its children offices. First, the method for transferring information from the children offices to the parent office will be discussed, then, the process of transferring information from the parent to the children offices will be set forth.

Children to Parent Data Transfer

Sales offices 150 depict a group of sales offices responsible for reporting to a single market office 152. Thus, in this manner, sales offices 150 are considered the children offices of market office 152 and likewise, market office 152 is considered the parent office of sales offices 150. We will now discuss, by way of example, how information is input at a given sales office and how that information is then transferred to the market office so that the market office is apprised of that particular transaction. In our example, let us suppose that a potential customer arrived at sales office subscript 154 and selected a lot, selected a home model, selected various options for that home model and provided the other necessary financial information that has been discussed in conjunction with the various modules. A data record is then constructed in one of the computers 18 (see FIG. 1A) associated with SO₁. This data record is preferably constructed by using a database that makes use of a distributed structure. Each data record is associated with a related data table. A typical structure for each data table is set forth below.

1. Customer First Name Text 30 characters 2. Customer Last Name Text 30 characters 3. Customer Address Text 30 characters 4. Customer City Text 30 characters 5. Customer Zip Code Text  9 characters 6. Customer Number Integer  2 characters 7. Last Modified Date/Time  8 characters, packed 8. Last Modified By Text  6 characters 9. Last Modified By Site Text 10 characters 10. Unique Record ID Numeric  8 bytes, double precision

The first six fields (all customer information) are typical fields within the structure and contain the dynamic information. The remaining four data fields are required for proper communication between a sibling office and a parent office and are modified according to the following rules:

-   -   1. When a new record is created:         -   The LAST MODIFIED field is updated with the system date/time             of the actual modification.         -   The LAST MODIFIED BY field is updated with the “user id” or             “log on name” of the person using the computer system. The             “user id” is unique within any one given installation site             that may consist of several networked computer systems.         -   The LAST MODIFIED BY SITE field is updated with the system             generated UNIQUE SITE ID for the current location. A site             will have one or more computer systems that are connected             with a network device. The SITE ID is pre-assigned at a             central location prior to the software being utilized.         -   The UNIQUE RECORD ID is generated at the site for each new             data record that is generated. The UNIQUE RECORD ID is the             single common link across all sites and its contents must be             preserved for all future updates. Consequently, the UNIQUE             RECORD ID field is only assigned on new records. It may be             any unique number that mathematically combines the date/time             the record was created.     -   2. When subsequent records are modified, all of the fields         associated with the modified record are updated except for the         UNIQUE RECORD ID.     -   3. When a record is deleted, a separate table is maintained that         contains the table name, the UNIQUE RECORD ID of the original         record, and the LAST MODIFIED BY SITE field. A new record is         generated for each deleted record in the database. At a         predetermined time (which is preferably during nonworking         business hours), SO₁ initiates a database synchronization         procedure to make certain that its database is in         synchronization with the database MO₁ 152. In order to do this,         SO₁ examines all of the data records in its database to         determine which records have been changed since the last         database synchronization took place. Each record that has been         added or changed since the last database synchronization is         copied into a redundant database. Records that are identified in         the “delete log” table are also copied into the redundant         database. Various ancillary files associated with each data         record that have also been changed are flagged. These ancillary         files contain miscellaneous information associated with any         peculiar circumstances related to a potential buyer—such as the         purchase of the home is contingent on the sale of his current         home, or the like. This redundant database is then compacted and         transferred to MO₁ 152 (the responsible parent). After the         information is transferred to the parent, a confirmation message         is sent by the parent to SO_(±) 154 that the information has in         fact been received and is being processed. Upon receipt of this         confirmation, the following actions are performed at SO₁ 154:     -   A. The delete log is purged,     -   B. The last database sync date/time field is modified to reflect         the current date/time and,     -   C. SO₁ 154 polls the system for an incoming message consisting         of changes that must be applied to the database of SO₁ 154 as         commanded by MO₁ 152.

At a later time, MO₁ 152 (the parent) is assured of having all of the transactions from SO₁ through SO_(x)—the subordinate children. At this point, MO₁ 152 processes each of the subordinate children's records in the redundant database against the database residing at MO₁ 152. In doing this, first the deleted records are processed and deleted from MO₁'s database. Subsequently, additional records are added and/or modified in MO₁'s database in accordance with the last modified date/time field.

Parent to Children Data Transfers

Still, at a later predetermined time, MO₁ examines its database for any additions, deletions, or changes which may have been initiated at MO₁ or initiated by RO₁. These additions, changes, or deletions, are placed in a redundant database which is set up for each particular subordinate children site. Data records that have the “last modified by site” value that is the same as the subordinate children's site are discarded inasmuch as it is known that these records originated from that site. This redundant database with any ancillary data files is then transferred electronically to the respectively associated subordinate child. This process repeats itself with the parent becoming the subordinate child and additional transactions are prepared for additional sites.

In view of the above discussion, it has been demonstrated that the system of the present invention is effective for taking a plurality of disbursed databases and synchronizing these databases with other databases associated therewith. It is important to note that only records which have been altered, in some way, are transferred for updating thus eliminating the time consuming task of transferring all database records, even those which have not been altered in any way. In this aspect, the data synchronization method of the present invention is extremely efficient.

Overall Entry Module

FIG. 7A depicts the OVERALL ENTRY MODULE of the present invention which is preferably adapted to run on any IBM PC compatible capable of running Microsoft Windows.

The OVERALL ENTRY MODULE is displayed when the system is first booted and provides a method of entering the Land, Sales, Build (or construction), Warranty, Administration, Financial, or Office LINC Subsystems. The SALES SUBSYSTEM is selected by positioning an indicator on the SALES Icon and then activating the selection. This positioning/activation sequence is typically implemented by way of a “mouse” control, but any other technique for allowing a user to select from a menu of options is also contemplated, including selection by a person's finger. After selection, the screen set forth in FIG. 7B is displayed confirming that (in this particular example) the SALES Subsystem has been selected.

People Information Module

FIGS. 8A-8E depict the PEOPLE INFORMATION MODULE of the present invention. The PEOPLE INFORMATION MODULE is selected by positioning a screen indicator over the PEOPLE icon and activating it. The user is prompted for a customer's last name or phone number (see FIG. 8A). As characters are entered into the last name field (see FIG. 8B) those customers that “match” the information in the last name field are displayed for further selection.

FIG. 8C shows the PEOPLE INFORMATION screen that is displayed after a prospect is selected and the current information is given. If the prospect is a new prospect, the screen is given with only the customer's last name. The user then enters the information on the screen. All of the information displayed on the screen is optional and the system will function with only the customer's last name. The system is designed so that a customer may have in excess of 1000 telephone numbers associated with their name.

FIG. 8D discloses a further screen of the PEOPLE INFORMATION MODULE which allows a user to access/enter certain financial information about a customer. This information is used in determining if a customer qualifies for a particular home and is also used to determine the maximum amount of a loan that a customer could obtain for a particular home.

If the customer is a real estate broker, the sales associate selects the broker button (see FIG. 8C) and selects the appropriate broker/agent (see FIG. 8E). If a particular broker/agent does not exist, the sales associate may add the broker/agent.

Additional information associated with the customer is assessed through the PEOPLE INFORMATION MODULE screen of FIG. 8F. The names and birthdates of the customer's children, employer information, and alternate addresses for the customer are entered/maintained through this screen. In addition, the user may select the “diary” button to enter a log regarding customer activities. For example, a short synopsis of a phone call, letter, or visit from a customer may be entered. Thus, at a later date the user may review previous correspondence with the customer. Previous selections made by the customer may be recalled by depressing the SCENERIO button.

Administration System

The ADMINISTRATION SYSTEM contains several modules associated with the maintenance of certain data files regarding this invention. The primary modules associated with this system are shown in FIG. 9A, which is displayed when the “ADMIN” icon is selected from the main selection module (see FIG. 7A).

By way of example, when the Market Master icon is selected (see FIG. 9A), and a sub-menu of “PLANS/ELEVATIONS” is selected, a screen associated with the associated plans and elevations for a particular subdivision is displayed as shown in FIG. 9B. This screen permits the user to change the pricing of a plan, identify the file name depicting the graphic for the plan, add or change information for an elevation, change pricing (including future pricing) for an elevation, and graphics file names.

Another example of the ADMINISTRATION SYSTEM is the CONTRACT APPROVAL MODULE which is displayed when the CONTRACT icon is selected. The screen of FIG. 9C displays all open contracts and change orders that require approval before they may be ratified.

A third example of the ADMINISTRATION SYSTEM is the FINANCING MODULE which is displayed when the FINANCING icon is selected and the LOAN MAINTENANCE sub-menu is selected. The screen in FIG. 9D is displayed whereby a loan fee maybe entered as a loan specific fee or a subdivision specific fee. The loan fee is then entered as a fixed or base amount plus a VARIABLE AMOUNT of either the HOUSE COST or the LOAN AMOUNT. Fees are further described as one-time, yearly, or monthly.

These fees are typically supplied by a mortgage company and are electronically transmitted to the related SALES OFFICES by the DATA LINC system.

CONCLUSION

The foregoing detailed description shows that the preferred embodiments of the present invention are well suited to fulfill the objects of the invention. It is recognized that those skilled in the art may make various modifications or additions to the preferred embodiments without departing from the spirit of the present invention. Accordingly, it is to be understood that the subject matter sought to be afforded protection hereby should be deemed to extend to the subject matter defined in the appended claims including all fair equivalents thereof. 

1-16. (canceled)
 17. A method for synchronizing the values of equivalent objects contained in multiple data collections that are in communications with one another, the method comprising: receiving information altering the value of an object contained in one of the data collections; altering said value of the object based on the receiving information by addition, change, deletion, or replacement of a portion thereof; identifying the altered values of the objects that have been altered since the previous synchronization method was completed; transferring the altered values of the objects that have been altered since the previous synchronization method was completed from the one data collection to a second data collection that contains equivalent objects; receiving said altered values of said altered objects by a second data collection; replacing the values of the altered objects in a second data collection corresponding to the altered values received for the equivalent objects from the transfer; wherein each object in the data collections has a unique identifier, and wherein transferring the altered values of said altered objects further includes, transferring the unique identifiers of the altered objects of the one data collection to permit the matching with the equivalent objects in a second data collection for replacing the values of said equivalent objects.
 18. The method as recited in claim 17 wherein the communications between the multiple data collections may be intermittent.
 19. The method as recited in claim 17 wherein a data collection may also be referred to as a data store or a store or a data class or a database or a file or a folder.
 20. The method as recited in claim 19 wherein each data collection may be a data object that functions as a container of other data objects.
 21. The method as recited in claim 17 wherein the objects contained in the multiple data collections may be data records.
 22. The method as recited in claim 17 wherein the objects contained in the multiple data collections may be data fields.
 23. The method as recited in claim 22 wherein the equivalent data fields in the multiple data collections contain replica of data.
 24. The method as recited in claim 17 wherein the previous synchronization is identified with a synchronization anchor.
 25. The method as recited in claim 24 wherein the synchronization anchor is updated after completion of the method as recited in claim
 17. 26. The method as recited in claim 25 wherein the synchronization anchor reflects a date/time stamp.
 27. The method as recited in claim 17 wherein at least one modification identification is associated with the altered value of each object that has been altered since the previous synchronization method was completed.
 28. The method as recited in claim 27 wherein at least one modification identification can result in identifying the type of alteration to the value of the object as an addition, change, deletion, or replacement of a portion thereof.
 29. The method as recited in claim 27 wherein at least one modification identification that is associated with the altered object may be referenced to the synchronization anchor in determining whether the altered object was altered after the last synchronization method was completed.
 30. The method as recited in claim 29 wherein at least one modification identification that is associated with the altered object and that is referenced to the synchronization anchor comprises a date/time stamp.
 31. The method as recited in claim 27 wherein at least one modification identification is updated when an object is altered.
 32. The method as recited in claim 17 wherein transferring the altered values of the objects that have been altered along with the unique identifiers of the altered objects comprises collecting a copy of said altered values and said object identifiers in a data collection and transferring that new data collection from one of the multiple data collections containing equivalent objects to another data collection containing equivalent objects that have not yet been altered by said alterations.
 33. The method as recited in claim 17 wherein transferring the altered values of the objects that have been altered along with the unique identifiers of the altered objects thereby eliminates the need to copy the entire data collection from one of the multiple data collections in which alterations have occurred to another data collection containing equivalent objects that have not yet been altered by said alterations.
 34. The method as recited in claim 17 wherein each object has a unique identifier such that each data collection can match its objects to each of the other data collection objects in order to maintain equivalency after the synchronization method is complete.
 35. The method as recited in claim 17 wherein the transfer of information further comprises sending data collection identification information.
 36. The method as recited in claim 35 wherein the transferring of alterations from one data collection and the sending of data collection identification information further comprises: receiving altered values and unique identifiers of objects that have been altered in the other data collection; and modifying the equivalent objects in the one of the data collection with the corresponding altered values from the other data collection.
 37. The method as recited in claim 36 wherein receiving altered values and unique identifiers of objects that have been altered further comprises receiving a confirmation message from the other data collection to which the alterations to the one of the data collections was sent.
 38. The method as recited in claim 37 wherein receiving the confirmation message further comprises updating the last synchronization anchor.
 39. The method as recited in claim 36 wherein receiving altered values and unique identifiers of objects includes receiving alterations that have not occurred at the one of the data collections based on the data collection identification information.
 40. The method as recited in claim 17 wherein replacing the values of the altered objects in the second data collection further comprises determining if any of the objects have been deleted from the one of the data collections, and if so, removing such objects from the other data collection.
 41. A system for synchronizing information among one or more first data collections in communication with a second data collection, each data collection having at least some equivalent objects with equivalent values contained in at least one of the other data collections, the system comprising: an input device associated with each of the first data collections for receiving information altering the value of an object contained in one of the first data collections; a central processing unit associated with each of the first data collections for altering said values of objects based on the receiving information by addition, change, deletion, or replacement of a portion thereof; a central processing unit associated with each of the data collections for identifying the altered values of the objects that have been altered from a previous state, transferring a copy of the alterations and the unique identifiers of the altered objects from one of the first data collections to the second data collection that has the equivalent unaltered objects stored therein, and for modifying the values of said objects in the second data collection corresponding to the altered values received for the equivalent objects from the transfer.
 42. The system as recited in claim 41 wherein the identification of the alteration of an object from a previous state is based on utilization of a synchronization anchor.
 43. The system as recited in claim 42 wherein the central processing unit does not update the synchronization anchor until after completion of the system as recited in claim
 41. 44. The system as recited in claim 43 wherein the synchronization anchor reflects a date/time stamp.
 45. The system as recited in claim 41 wherein at least one modification identification is associated with the altered value of each object that has been altered since the previous synchronization method was completed.
 46. The system as recited in claim 45 wherein the central processing unit operates such that at least one modification identification can result in identifying the type of alteration to the value of the object as an addition, change, deletion, or replacement of a portion thereof.
 47. The system as recited in claim 45 wherein at least one modification identification that is associated with the altered object may be referenced by the central processing unit to the synchronization anchor in determining whether the altered object was altered after the last synchronization method was completed.
 48. The system as recited in claim 47 wherein at least one modification identification that is associated with the altered object and that is referenced by the central processing unit to the synchronization anchor comprises a date/time stamp.
 49. The system as recited in claim 45 wherein at least one modification identification is updated by the central processing unit when an object is altered.
 50. The system as recited in claim 41 wherein each object has a unique identifier such that the central processing unit for each data collection can match its objects to the copy of the transferred objects from each of the other data collections in order to maintain equivalency after the system for synchronizing objects has completed.
 51. The system as recited in claim 41 wherein the central processing unit, in transferring the altered values of the objects that have been altered along with the unique identifiers of the altered objects, is further operative to transfer such alterations and unique identifiers to eliminate the need to copy the entire data collection from one of the first data collections in which alterations have occurred to the second data collection containing equivalent objects that have not yet been altered by said alterations.
 52. The system as recited in claim 41 wherein the central processing unit, in transferring the altered values of the objects that have been altered along with the unique identifiers of the altered objects, is further operative to collect a copy of said altered values and said object identifiers in a data collection and transfer that new data collection from one of the first data collections to the second data collection containing equivalent objects that have not yet been altered by said alterations.
 53. The system as recited in claim 52 wherein the central processing unit is further operative to transfer data collection identification information for the one of the first data collections.
 54. The system as recited in claim 53 wherein the central processing unit, in transferring alterations and object identifiers from the one of the first data collections and the sending of data collection identification information, is further operative to: receive altered values and unique identifiers of objects that have been altered in the second data collection; and modify the equivalent objects in the one of the first data collections with the corresponding altered values from the second data collection.
 55. The system as recited in claim 41 wherein the central processing unit, in replacing the values of the altered objects in the second data collection, is further operative to determine if any of the objects have been deleted from the one of the first data collections, and if so, removing such objects from the second data collection.
 56. A method to permit the synchronizing of the values of equivalent objects contained in multiple data collections that are in communications with one another, the method comprising: receiving information consisting of one or more new objects and said new objects' values; appending said one or more new objects with said new objects' values to one of the data collections; identifying the one or more new objects with said new objects' values that have been appended to the one of the data collections since the previous synchronization method, if any, was completed; transferring a copy of the one or more new objects with said new objects' values that have been appended to the one of the data collections, from the one data collection to another data collection; receiving said one or more new objects with said new objects' values by the other data collection; appending said one or more new objects with said new objects' values to the other data collection; wherein each of the one or more new objects is assigned a unique identifier, and wherein transferring the said one or more new objects further includes, transferring the unique identifiers of said one or more new objects of the one data collection to the other data collection to permit the matching for synchronization when the equivalent objects in the one or other data collections are altered in the future.
 57. The method as recited in claim 17 wherein the steps of receiving information altering the value of an object and altering said value of the object based on the receiving information, may be repeated continuously and periodically except for interruptions that may include, but are not limited to, initiation of the subsequent steps as recited in claim
 17. 58. The method as recited in claim 57 wherein initiation of the next steps is based on a predetermined activator. 